Cloud computing generally involves providing computing resources (typically hardware and software) over a network as a service. From a user's perspective, up-front investments in hardware, software, and employees to maintain the network are avoided by paying for remotely located hardware and software through subscription fees. The resource provider benefits by optimizing the use of aggregated computing resources among multiple subscribers.
Conventionally, the network topologies available to a user as a virtual network are limited in configurability. Thus, a given subscriber desiring to have a virtual network matching a previous in-house physical network to optimize portability may encounter difficulties. Other issues in configuring conventional virtual networks include a lack of flexibility in being able to specify certain security policies.
What is needed and as yet unavailable is a system and method that enables users to customize virtual networks with a fine degree of granularity.